The present invention relates to arbitrary waveform generators, and more particularly to an arbitrary waveform generator with adjustable spacing of points and segments to arrange precise time durations.
Arbitrary waveform generators are used to create arbitrary waveforms with direct digital synthesis. The arbitrary waveforms are then input to various devices under test to determine whether their responses lie within acceptable tolerances. For example noisy signals may be used to test the noise rejection capabilities of a device under test, or variable frequency waveforms may be used to test the frequency response of a device under test.
One method of waveform data generation uses a packetized data structure that defines segments of a main waveform memory by parameters that specify starting and ending addresses, number of repeats and next packet selections. This allows a given complex waveform to be broken into individual segments representing unique portions of the waveform function. This technique reduces the overall memory requirements for a given waveform by allowing repetitive sections to be compressed in the memory and recalled in a random manner with repeat capability to stretch lengths and provide for bursts of similar structures.
A problem with this method is that there is a relationship between the number of points required to adequately specify a given waveshape and the period those points are required to be spaced over. In differing portions of a complex waveshape these requirements alter so that a single choice of either frequency of point progression or number of points cannot adequately cover all portions. In many cases this is compounded by the practice of using interleaved memory as a method of increasing the maximum frequency of point progression so that the interpoint spacings are reduced for higher frequency actual output waveforms. The choice of number of points is degraded by the number of interleaves since there are now discrete choices where pattern bounds must be arranged to meet.
As an example, if there is a defined waveform portion having 20 points at 100 nsec intervals for a total of 2.0 usec, and that portion is required to be only 1.94 usec in duration, then the choice is between 20 points or 19 points for a 1.9 usec duration. Thus the choice is either to accept a period 60 nsec too long or 40 nsec too short. But if the next waveform segment is exactly correct at 100 nsec intervals, then there is not a fixed clock rate that will satisfy both requirements for the different waveform portions. This example is further compounded when memory interleaving is performed because now, instead of having a choice of one more or one less clock interval, the choice is between four more or less, or eight more or less, depending upon the memory interleave depth.
Therefore what is desired is a method of arbitrary waveform generation with adjustable spacing so that a unique choice of both frequency of point progression and number of points may be made for each portion of a complex waveform shape.